﻿using System;
using System.Html.DOM;

namespace jQueryLib
{
    /// <summary>
    /// This class will translate to $, alias of jQuery
    /// </summary>
    [ImportClass(string.Empty, "$")]
    public class _ : JQuery
    {
    }

    public static partial class Selector
    {
        /// <summary>
        /// $(), alias of jQuery()
        /// </summary>
        /// <returns></returns>
        [ImportMember("$")]
        public static JQueryInstance _()
        {
            return null;
        }

        /// <summary>
        /// $(), alias of jQuery()
        /// </summary>
        /// <param name="selector"></param>
        /// <returns></returns>
        [ImportMember("$")]
        public static JQueryInstance _(string selector)
        {
            return null;
        }

        /// <summary>
        /// $(), alias of jQuery()
        /// </summary>
        /// <param name="selector"></param>
        /// <param name="context">it should be jQuery object or DomElement. 
        /// use 'this' keyword with caution -- it mean different in C# and javascript</param>
        /// <returns></returns>
        [ImportMember("$")]
        public static JQueryInstance _(string selector, object context)
        {
            return null;
        }

        /// <summary>
        /// $(), alias of jQuery()
        /// </summary>
        /// <param name="target">should be DomElement, jQuery object or plain object
        /// use 'this' keyword with caution -- it mean different in C# and javascript</param>
        /// <returns></returns>
        [ImportMember("$")]
        public static JQueryInstance _(object target)
        {
            return null;
        }
    }

    public static partial class Creator
    {
        /// <summary>
        /// $(), alias of jQuery() to create DOM
        /// </summary>
        /// <param name="selector"></param>
        /// <returns></returns>
        [ImportMember("$")]
        public static JQueryInstance _(string htmlSnippet)
        {
            return null;
        }

        /// <summary>
        /// $(), alias of jQuery() to create DOM
        /// </summary>
        /// <param name="selector"></param>
        /// <param name="properties">the attributes which will assign to the element</param>
        /// <returns></returns>
        [ImportMember("$")]
        public static JQueryInstance _(string htmlSnippet, object properties)
        {
            return null;
        }
    }
}
